Software developers spend substantial amounts of time searching and navigating through code to understand relevant parts of a program for a particular change task, such as code modification or debugging. During this process of understanding and then changing code, developers implicitly build code context models that consist of the relevant code elements and the relations between these elements, often more generally referred to as task context. In order to create a task context, developers conventionally search for starting points using a plain text query and then manually expand these starting points by navigating outward from the starting points using structural links, such as call relations. Since code context models mainly stay implicit in the developer's mind and are not persistent, developers must spend a significant amount of time manually re-creating context models for newly assigned change tasks.